package com.situ.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.model.User;
import com.situ.utils.JsonResult;

/**
 * 用户服务接口
 */
public interface UserService extends IService<User> {

    /**
     * 分页查询用户列表
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param search 搜索条件
     * @return 用户列表
     */
    Page<User> findAll(int pageNum, int pageSize, User search);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户信息
     */
    User findByUsername(String username);

    /**
     * 修改用户状态
     * @param id 用户ID
     * @param status 状态值
     * @return 修改结果
     */
    boolean updateStatus(Integer id, Integer status);
    
    /**
     * 修改用户角色
     * @param id 用户ID
     * @param roleType 角色类型
     * @return 修改结果
     */
    boolean updateRoleType(Integer id, Integer roleType);

    /**
     * 删除用户
     * @param id 用户ID
     * @return 删除结果
     */
    boolean deleteUser(Integer id);
}